package com.tiny.tinyweb.core.dao.ds;

/**
 * 数据源选择器类，从已配置的数据源列表中决定当前要使用的数据源名称，名称与当前线程绑定。
 * @author wxiaobin
 */
public class DataSourceSelector {
    private static final ThreadLocal<String> tl = new ThreadLocal<String>();
    /**
     * 获得当前要使用的数据源名称。
     * @return 当前要使用的数据源名称
     */
    public static String getResolvedDataSource() {
        return tl.get();
    }

    /**
     * 设置当前要使用的数据源名称的值。
     * @param resolvedDataSource 当前要使用的数据源名称的新值
     */
    public static void setResolvedDataSource(String resolvedDataSource) {
        tl.set(resolvedDataSource);
    }

    /**
     * 删除当前要使用的数据源名称。
     */
    public static void clearResolvedDataSource() {
        tl.remove();
    }
}
